#pragma once
#include "BaseTask.h"
#include <string>

// 前向声明
class TcpConnection;

/**
 * @brief 文件数据块处理任务
 * 
 * 职责：
 * 1. 在业务线程池中处理文件数据块
 * 2. 避免阻塞消息处理线程
 * 3. Base64 解码和文件写入在后台线程完成
 */
class FileUploadDataTask : public BaseTask
{
public:
    FileUploadDataTask(TcpConnection* conn, const std::string& jsonBody);
    ~FileUploadDataTask() override;
    
    void work(void* arg) override;

private:
    TcpConnection* m_conn;
    std::string m_jsonBody;
};

